package pe.com.bbva.efcap.servidor.servicio.impl;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import pe.com.bbva.efcap.servidor.dao.ClienteDAO;
import pe.com.bbva.efcap.servidor.modelo.entidad.Cliente;
import pe.com.bbva.efcap.servidor.servicio.ClienteService;
import pe.com.bbva.efcap.servidor.util.Constante;

@Service
@Transactional(readOnly = true)
public class ClienteServiceImpl implements ClienteService{

	@Autowired
	private ClienteDAO clienteDAO;

	private static final Logger LOGGER = LoggerFactory.getLogger(ClienteServiceImpl.class);

	@Override
	@Transactional(readOnly = false)
	public boolean guardarCliente(Cliente cliente) {
		try{
			clienteDAO.guardar(cliente);
			return true;
		}catch(Exception e){
			LOGGER.error(Constante.EXECPCION_ENCONTRADA+ getClass().getName()+": "+e.toString(), e);
			return false;
		}
	}
	
	@Override
	public Cliente obtenerClientePorCodigoCentral(String codigoCentral){
		try{
			return clienteDAO.obtenerClientePorCodigoCentral(codigoCentral);
		}catch(Exception e){
			LOGGER.error(Constante.EXECPCION_ENCONTRADA+ getClass().getName()+": "+e.toString(), e);
			return null;
		}
	}
}
